Users have access to an increasing variety of content providers that provide an ever increasing array of content. Television services, for instance, are widely used for delivering content. Subscribers of television services are offered a broad assortment of content, including traditional broadcast programs and movies. Newer, interactive television (ITV) systems expand the assortment of content that may be provided from a content provider. ITV systems offer the same traditional services of familiar cable television as well as a variety of new additional interactive services, such as the use of applications. Examples of applications include video-on-demand (VOD) which permits a user to order videos and watch the videos whenever desired, home shopping applications which enable a user to browse various stores and catalogs on TV and order products from home, and financial applications which allow a user to conduct banking and other financial transactions using the television. Additionally, users may also access service applications and functionality from the content provider, such as games, Internet browsers, email applications, and so on.
The applications, when written by a developer, may have a plurality of configuration settings that specify fields and conditions for the fields that are utilized by the applications to provide desired content. A configuration document may be written to describe the configuration settings of the application so that developers writing other applications that interact with the application may be made aware of the relevant configuration settings. For example, a developer writing a browser application may utilize the configuration document to specify settings of the browser so that it is compatible with an application that provides web pages. Therefore, when a user executes the browser application utilizing a client, such as a set-top box, the browser is able to retrieve web pages from the applications that provide web pages.
The configuration document, however, may not reflect the current state of the application when it is being written and/or even after the application has been completed. For example, changes may be made to the configuration settings when writing the application that are not reflected in the configuration document. Therefore, other developers that are writing portions of the application may not be aware of the changes that were made, which may affect the interoperability of the application. For example, a first developer may write a portion of the application that specifies a configuration setting of a request format that may be received by the application. When writing the portion of the application, the first developer may change the request format. If a second developer is not aware of the format change, a portion of the application that is written by the second developer that processes the requests may not be compatible with the changed format. Additionally, a developer that wrote the configuration document may not be the same developer that wrote the application. Therefore, information and nuances that are known by the developer that wrote the application may be omitted from the configuration document. Further, human error may be encountered when writing the configuration document. The application, for instance, may contain thousands of lines of computer instructions that include configuration settings for the application. A developer may therefore miss configuration settings when writing the configuration document that are included in the lines of computer instructions, which may affect the interoperability with other applications.
Therefore, there is a continuing need to provide improved configuration settings that are locatable and from which a configuration document can be generated that accurately describes the current state thereof.